package com.ruoyi.ora.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * AI聊天对象 ora_device_aichat
 * 
 * @author liuwp
 * @date 2025-08-22
 */
public class DeviceAichat extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 设备sn */
    @Excel(name = "设备sn")
    private String deviceSn;

    /** 设备id */
    @Excel(name = "设备id")
    private Long deviceId;

    /** 撤销时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "撤销时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date revokeTime;

    /** 设备音频 */
    @Excel(name = "设备音频")
    private String deviceVoice;

    /** 音频内容 */
    @Excel(name = "音频内容")
    private String deviceContent;

    /** 设备音频时长 */
    @Excel(name = "设备音频时长")
    private String deviceDuration;

    /** 对话类型  1：上行，2：下行 */
    @Excel(name = "对话类型  1：上行，2：下行")
    private Integer chatType;

    /** ai音频 */
    @Excel(name = "ai音频")
    private String aichatVoice;

    /** ai内容 */
    @Excel(name = "ai内容")
    private String aichatContent;

    /** ai时长 */
    @Excel(name = "ai时长")
    private String aichatDuration;

    /** 是否已读 */
    @Excel(name = "是否已读", dictType = "sys_yes_no")
    private Integer isReal;

    /** 是否接收 */
    @Excel(name = "是否接收", dictType = "sys_yes_no")
    private Integer isReceive;

    private Long userId;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDeviceSn(String deviceSn) 
    {
        this.deviceSn = deviceSn;
    }

    public String getDeviceSn() 
    {
        return deviceSn;
    }
    public void setDeviceId(Long deviceId) 
    {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() 
    {
        return deviceId;
    }
    public void setRevokeTime(Date revokeTime) 
    {
        this.revokeTime = revokeTime;
    }

    public Date getRevokeTime() 
    {
        return revokeTime;
    }
    public void setDeviceVoice(String deviceVoice) 
    {
        this.deviceVoice = deviceVoice;
    }

    public String getDeviceVoice() 
    {
        return deviceVoice;
    }
    public void setDeviceContent(String deviceContent) 
    {
        this.deviceContent = deviceContent;
    }

    public String getDeviceContent() 
    {
        return deviceContent;
    }
    public void setDeviceDuration(String deviceDuration)
    {
        this.deviceDuration = deviceDuration;
    }

    public String getDeviceDuration()
    {
        return deviceDuration;
    }
    public void setChatType(Integer chatType) 
    {
        this.chatType = chatType;
    }

    public Integer getChatType() 
    {
        return chatType;
    }
    public void setAichatVoice(String aichatVoice) 
    {
        this.aichatVoice = aichatVoice;
    }

    public String getAichatVoice() 
    {
        return aichatVoice;
    }
    public void setAichatContent(String aichatContent) 
    {
        this.aichatContent = aichatContent;
    }

    public String getAichatContent() 
    {
        return aichatContent;
    }
    public void setAichatDuration(String aichatDuration)
    {
        this.aichatDuration = aichatDuration;
    }

    public String getAichatDuration()
    {
        return aichatDuration;
    }
    public void setIsReal(Integer isReal) 
    {
        this.isReal = isReal;
    }

    public Integer getIsReal() 
    {
        return isReal;
    }
    public void setIsReceive(Integer isReceive) 
    {
        this.isReceive = isReceive;
    }

    public Integer getIsReceive() 
    {
        return isReceive;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deviceSn", getDeviceSn())
            .append("deviceId", getDeviceId())
            .append("createTime", getCreateTime())
            .append("revokeTime", getRevokeTime())
            .append("deviceVoice", getDeviceVoice())
            .append("deviceContent", getDeviceContent())
            .append("deviceDuration", getDeviceDuration())
            .append("chatType", getChatType())
            .append("aichatVoice", getAichatVoice())
            .append("aichatContent", getAichatContent())
            .append("aichatDuration", getAichatDuration())
            .append("isReal", getIsReal())
            .append("isReceive", getIsReceive())
            .toString();
    }
}
